package com.example.springmvc.controller;

import com.example.springmvc.pojo.ApiResult;
import com.example.springmvc.pojo.Dept;
import com.example.springmvc.pojo.User;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

/**
 * @Description:
 * @Author: lijiewei
 * @Date: 2020/7/13$ 22:11$
 */
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {

//    @GetMapping("/get1")
//    public ApiResult get1(String name, Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }

//    @RequestMapping(path = "/get1", method = RequestMethod.GET)
//    @ResponseBody
//    public ApiResult get1(String name, Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }

    //对象不能加 @RequestParam
//    @GetMapping("/get1")
//    public ApiResult get1(User user) {
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }

//    @GetMapping("/get1")
//    public ApiResult get1(@RequestParam String name, @RequestParam Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }
//
//
//    @GetMapping("/get2/{name}/{age}")
//    public ApiResult get2(@PathVariable String name, @PathVariable Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }
//
//       @GetMapping("/get3/{name}")
//       public ApiResult get3(@PathVariable String name, @RequestParam Integer age) {
//           log.info("姓名：{}， 年龄：{}", name, age);
//           return ApiResult.ok(name);
//       }
//
//
//    @DeleteMapping("/delete1")
//    public ApiResult delete1(@RequestParam String name, @RequestParam Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }


//    @PostMapping("/post1")
//    public ApiResult post1(@RequestBody String jsonStr) throws JsonProcessingException {
//        ObjectMapper objectMapper = new ObjectMapper();
//        User user = objectMapper.readValue(jsonStr, User.class);
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }

//    @PostMapping("/post1")
//    public ApiResult post1(@RequestBody User user)  {
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }
//
//    @PostMapping("/post2")
//    public ApiResult post2(String method, Integer index, @RequestBody User user) {
//        log.info("方法：{}， 序号：{}", method, index);
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }
//
//    @PostMapping("/post2")
//    public ApiResult post2(@RequestParam String method, @RequestParam Integer index, @RequestBody User user) {
//        log.info("方法：{}， 序号：{}", method, index);
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }
//
//    @PostMapping("/post3/{method}")
//    public ApiResult post3(@PathVariable String method, @RequestParam Integer index, @RequestBody User user) {
//        log.info("方法：{}， 序号：{}", method, index);
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }
//
//    @PostMapping("/post4")
//    public ApiResult post4(@RequestParam String name, @RequestParam Integer age) {
//        log.info("姓名：{}， 年龄：{}", name, age);
//        return ApiResult.ok(name);
//    }
//
//    @PutMapping("/put1")
//    public ApiResult put1(@RequestBody String jsonStr) throws JsonProcessingException {
//        ObjectMapper objectMapper = new ObjectMapper();
//        User user = objectMapper.readValue(jsonStr, User.class);
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }

//    @PutMapping("/put1")
//    public ApiResult put1(@RequestBody User user)  {
//        log.info("姓名：{}， 年龄：{}", user.getName(), user.getAge());
//        return ApiResult.ok(user.getName());
//    }











}
